from typing import List, Dict, Optional
from dataclasses import dataclass

@dataclass
class FileInfo:
    """文件信息数据类"""
    path: str
    type: str  # 文件类型
    size: int  # 文件大小

@dataclass
class FileDiff:
    """文件差异数据类"""
    old_content: str
    new_content: str
    changes: List[Dict]  # 变更详情

@dataclass
class IssueInfo:
    """需求/缺陷信息数据类"""
    id: str
    title: str
    description: str
    type: str  # 'bug' or 'requirement'

@dataclass
class ReviewResult:
    """代码审查结果数据类"""
    status: str  # 审查状态
    comments: List[Dict]  # 审查意见
    suggestions: List[str]  # 改进建议